Using the Core Reflection API
Use reflection to discover the structure of live types
Discover names, types, and access of class members
Invoke methods and constructors
Get and set fields (and array elements too)